package cn.iocoder.yudao.module.exam.controller.admin.exam.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;

@Schema(description = "管理后台 - 考试管理新增/修改 Request VO")
@Data
public class ExamSaveReqVO {

    @Schema(description = "考试ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14509")
    private Long id;

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "编号不能为空")
    private String examCode;

    @Schema(description = "考试名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotEmpty(message = "考试名称不能为空")
    private String examName;

    @Schema(description = "考试类型", example = "2")
    private String examType;

    @Schema(description = "年级", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "年级不能为空")
    private String grade;

    @Schema(description = "学科", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "学科不能为空")
    private String subject;

    @Schema(description = "试卷总分")
    private BigDecimal totalScore;

    @Schema(description = "题目总数", example = "7645")
    private Integer questionCount;

    @Schema(description = "答题卡类型", example = "2")
    private String answerCardType;

    @Schema(description = "原始试卷文件路径", example = "https://www.iocoder.cn")
    private String originalPaperUrl;

    @Schema(description = "答题卡模板文件路径", example = "https://www.iocoder.cn")
    private String answerCardTemplateUrl;

    @Schema(description = "标准答案文件路径", example = "https://www.iocoder.cn")
    private String standardAnswerUrl;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态不能为空")
    private Integer status;

}